Users oftentimes create documents that have a similar general structure, such as documents with recurring content and/or like formatting. Generally, the structure is unique to a particular user or to a group of users. For example, a user may be a college student whose professors have requirements around the formatting of work for their classes. For each new assignment, the user may start out by fine tuning the formatting to match the particular class's requirements. The user may either start with a blank document and set up the formatting, or use a previous assignment as a template in an attempt to have consistent formatting.
Or, as another example, a user may produce legal documents that have a specific structure and may include boilerplate language that is shared between documents. When creating a new document, the user may cut and paste portions of an existing document into the new document. As can be appreciated, setting up each new document with individual attributes or manually assembling documents from existing documents can be tedious, time consuming, and can be prone to human error. Additionally, additional processing steps are required by a computing device to format each new document according to a user's input.
A template is pre-constructed document type that includes various composition elements, such as a collection of styles, formatting settings, and content. When opened in an application, a template creates a copy of itself, into which users can input their own information in lieu of repeatedly creating a new document with the various composition elements. An assortment of pre-constructed templates may be preinstalled with an application, or may be available for download. In some applications, users are enabled to create and save custom templates, which can be used for authoring future documents.